package com.atguigu.order;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

@SpringBootApplication
@EnableDiscoveryClient // 开启服务注册发现
public class OrderApplication {
    public static void main(String args[]) {
        SpringApplication.run(OrderApplication.class, args);

        System.out.println("=================================");
        System.out.println("✅ service-order 启动成功！");
        System.out.println("=================================");
    }

    /**
     * 创建RestTemplate实例（带负载均衡）
     * 作用：自动实现负载均衡，支持服务名调用
     */
    @Bean("loadBalancedRestTemplate")
    @LoadBalanced
    public RestTemplate loadBalancedRestTemplate() {
        return new RestTemplate();
    }

    /**
     * 创建RestTemplate实例（不带负载均衡）
     * 作用：用于调用具体的URL（IP+端口）
     */
    @Bean("normalRestTemplate")
    public RestTemplate normalRestTemplate() {
        return new RestTemplate();
    }
}
